After completing this lesson, you’ll be able to:
Organizations may have multiple FME Flow instances to support the development and testing of workflows. This introduces a challenge, as database and web connections are also likely to be different between FME Flow instances. Manually changing all connections in a workspace for the environment it is being run in is time-consuming and error-prone.
This challenge can be addressed with Deployment Parameters. Deployment Parameters allow you to use a common name for a parameter across all FME Flow instances while giving it a different value in each instance.
Unlike User Parameters, which are created and managed in FME Workbench, Deployment Parameters are created in FME Flow. They are found in the menu under Connections & Parameters. Click Deployment Parameters to view the Deployment Parameter Store page, where you can create new ones and view a list of all on the FME Flow instance.
Deployment Parameters can be text values, web connections, or database connections.
For example, let’s say an organization has two different FME Flow instances: a test instance and a production instance. They also have two Postgres employee databases, one for test and one for production. A Deployment Parameter named ‘Employee Database’ can be created on each FME Flow instance and given a different connection value.
Here is the FME Flow test instance:
And here is the production instance. Notice that the Deployment Parameter name is the same, but the value is different:
The EmployeeDatabase Deployment Parameter can be used in FME Workbench by connecting to an FME Flow instance, in this case the test server. In FME Workbench, from the drop down list next to the FME Flow Connection, choose Sync to ensure your Deployment Parameters are up-to-date .
After syncing, the Translation Log will indicate how many deployment parameters have been retrieved from the FME Flow instance and it will be listed in Navigator under Deployment Parameters.
Deployment Parameters can be used like any other parameters in FME. For example, the EmployeeDatabase parameter can be provided as the connection for the Employee Database Postgres reader.
Since FME Workbench is currently connected to the FME Flow test server, the EmployeeDatabase Deployment Parameter will use the Postgres TEST Employee Database connection. It’s important to note that for database and web connections, the connection must exist locally in FME Workbench.
Now the workspace can be run from workbench using the test database connection and published to the FME Flow test server. When testing is complete, the workspace can be published to the FME Flow production server without any changes being made to the workspace.
Even if an organization only has a single FME Flow instance, Deployment Parameters are still useful! They provide one location to manage parameters for all users. For example, a text Deployment Parameter could be changed on FME Flow and all workspaces using that Deployment Parameter will use the new value.
Deployment Parameters can also be used in FME Flow Automations. If a workspace was published to FME Flow without a Deployment Parameter used, the Deployment Parameter can be chosen afterwards in the Automation.